package Final;

import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.*;
import java.awt.*;

/* Used by InternalFrameDemo.java. */
public class ProfileManager extends JInternalFrame {
    
	static int openFrameCount = 0;
    static final int xOffset = 30, yOffset = 30;
    private boolean DEBUG = false;

    public ProfileManager() {
        super("Document #" + (++openFrameCount), 
              true, //resizable
              true, //closable
              true, //maximizable
              true);//iconifiable

        //...Create the GUI and put it in the window...

        //...Then set the window size or call pack...
        setSize(300,300);

        //Set the window's location.
        setLocation(xOffset*openFrameCount, yOffset*openFrameCount);
        
        String[] columnNames = {"First Name", "Last Name","Date of Birth", "age", "Street Address", "Zip code", "Home Phone Number", "Student Cell Phone", "Primary Language", "Current School", "Current Grade Level",
        		"IEP"};

Object[][] data = {
		 {"Kathy", "Smith",
		        "Snowboarding", new Integer(5), new Boolean(false)},
		        {"John", "Doe",
		        "Rowing", new Integer(3), new Boolean(true)},
		       {"Sue", "Black",
		        "Knitting", new Integer(2), new Boolean(false)},
		        {"Jane", "White",
		        "Speed reading", new Integer(20), new Boolean(true)},
		       {"Joe", "Brown",
		        "Pool", new Integer(10), new Boolean(false)}

};

final JTable table = new JTable(data, columnNames);
table.setPreferredScrollableViewportSize(new Dimension(500, 70));
table.setFillsViewportHeight(true);

if (DEBUG) {
table.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
    printDebugData(table);
}
});
}

//Create the scroll pane and add the table to it.
JScrollPane scrollPane = new JScrollPane(table);

//Add the scroll pane to this panel.
add(scrollPane);
}

private void printDebugData(JTable table) {
int numRows = table.getRowCount();
int numCols = table.getColumnCount();
javax.swing.table.TableModel model = table.getModel();

System.out.println("Value of data: ");
for (int i=0; i < numRows; i++) {
System.out.print("    row " + i + ":");
for (int j=0; j < numCols; j++) {
 System.out.print("  " + model.getValueAt(i, j));
}
System.out.println();
}
System.out.println("--------------------------");
}
    
}
